neural guided constraint logic programming
Neural Guided Constraint Logic Programming for Program Synthesis
Synthesizing programs using example input/outputs is a classic problem in artificial intelligence. We present a method for solving Programming By Example (PBE) problems by using a neural model to guide the search of a constraint logic programming system called miniKanren. Crucially, the neural model uses miniKanren's internal representation as input; miniKanren represents a PBE problem as recursive constraints imposed by the provided examples. We explore Recurrent Neural Network and Graph Neural Network models.
Reviews: Neural Guided Constraint Logic Programming for Program Synthesis
The paper presents an approach to neural guided search for program synthesis of LISP programs. A modified miniKanren constraint solver is used to synthesize a program from example IO pairs by "inverting" the EVAL function. The search for candidate programs in the solver is guided by a neural network (either a GNN or an RNN with other layers on top). The approach is compared to baselines and three symbolic methods. Pros: - The paper is very well written and definitely relevant to NIPS - The evaluation against symbolic methods is reasonable - While the idea of scoring evaluation expansions is not novel, applying it to the EVAL function is Cons: - Novelty is somewhat limited - Links to some recent related work are missing - No comparison to other neural methods In general, I think that paper is clear and sound enough.
Neural Guided Constraint Logic Programming for Program Synthesis
Zhang, Lisa, Rosenblatt, Gregory, Fetaya, Ethan, Liao, Renjie, Byrd, William, Might, Matthew, Urtasun, Raquel, Zemel, Richard
Synthesizing programs using example input/outputs is a classic problem in artificial intelligence. We present a method for solving Programming By Example (PBE) problems by using a neural model to guide the search of a constraint logic programming system called miniKanren. Crucially, the neural model uses miniKanren's internal representation as input; miniKanren represents a PBE problem as recursive constraints imposed by the provided examples. We explore Recurrent Neural Network and Graph Neural Network models. We show that our neural-guided approach using constraints can synthesize programs faster in many cases, and importantly, can generalize to larger problems.
Neural Guided Constraint Logic Programming for Program Synthesis
Zhang, Lisa, Rosenblatt, Gregory, Fetaya, Ethan, Liao, Renjie, Byrd, William, Might, Matthew, Urtasun, Raquel, Zemel, Richard
Synthesizing programs using example input/outputs is a classic problem in artificial intelligence. We present a method for solving Programming By Example (PBE) problems by using a neural model to guide the search of a constraint logic programming system called miniKanren. Crucially, the neural model uses miniKanren's internal representation as input; miniKanren represents a PBE problem as recursive constraints imposed by the provided examples. We explore Recurrent Neural Network and Graph Neural Network models. We contribute a modified miniKanren, drivable by an external agent, available at https://github.com/xuexue/neuralkanren. We show that our neural-guided approach using constraints can synthesize programs faster in many cases, and importantly, can generalize to larger problems.
Neural Guided Constraint Logic Programming for Program Synthesis
Zhang, Lisa, Rosenblatt, Gregory, Fetaya, Ethan, Liao, Renjie, Byrd, William, Might, Matthew, Urtasun, Raquel, Zemel, Richard
Synthesizing programs using example input/outputs is a classic problem in artificial intelligence. We present a method for solving Programming By Example (PBE) problems by using a neural model to guide the search of a constraint logic programming system called miniKanren. Crucially, the neural model uses miniKanren's internal representation as input; miniKanren represents a PBE problem as recursive constraints imposed by the provided examples. We explore Recurrent Neural Network and Graph Neural Network models. We contribute a modified miniKanren, drivable by an external agent, available at https://github.com/xuexue/neuralkanren. We show that our neural-guided approach using constraints can synthesize programs faster in many cases, and importantly, can generalize to larger problems.